Live action or full motion video has been used with personal computers, particularly for so-called multimedia presentations where different types of media are combined to present information to a user. In addition, personal computers have been increasingly used in video applications to manipulate video signals (e.g., editing, computer animation, or the like).
For the purposes of this application, the term "motion video" is interpreted to mean any video segment or presentation including live action, real time, or full motion video. Examples of motion video include, but are not limited to, NTSC, PAL, SECAM, or MUSE type television signals, digital and analog HDTV signals, or the like, including live television signals or broadcasts, cable television signals or the like, or motion picture video, which may be suitably digitized and converted into a format suitable for presentation on a computer display. The term motion video may also include, but is not limited to, any computer generated display or display segment, including computer animation or the like.
For multimedia presentations, it is particularly useful to be able to provide a motion video interface to a portable or so-called notebook or laptop computer or the like (collectively referred to hereinafter as "portable computer") to display motion video on a computer screen or attached monitor or television. A separate video interface may be provided in a portable computer, tied to the system bus or incorporated into the video adapter in order to import motion video into the portable computer. However, such an interface would increase the cost of a personal or portable computer significantly. Since only a potion of computer users are envisioned as requiring such a video interface, it is desirable to be able to offer a video interface as an add-on option for a personal or portable computer.
In order to support optional features for portable or personal computers, an industry standard known as the PCMCIA standard has been developed to allow computer manufacturers to offer optional features on a removable card, referred to as a PCMCIA card. Optional features such as modems, I/O ports, network interfaces, and even hard drives have been incorporated into PCMCIA cards which may be used to upgrade a portable or personal computer to add such features.
FIG. 1 shows a notebook computer 100 provided with a PCMCIA interface 101. Although shown here as a notebook computer, as applied to the present invention, other types of computers may also be used, including portable, transportable, lap-top, palm-top, personal digital assistants (PDAs), pen based computers, or the like, or Personal Computers (PCs) such as the IBM.TM. PC, Apple.TM. Macintosh.TM., or the like or other types of computer systems (e.g., mainframes, minis, or the like) where it is desirable to import video images through a PCMCIA or similar type data port.
Notebook computer 100 may be provided with a system bus 102 shown here as a PCI bus having a data bandwidth in the range of 25 to 30 megabytes per second. Notebook computer 100 is provided with a CPU 103 (e.g., Intel.TM. Pentium.TM., 486, 386 or the like, or Motorola.TM. 68000 or the like) coupled to the system bus 102. Notebook computer 100 is also provided with a system memory 104 also coupled to system bus 102.
A video controller 105, shown here as a VGA controller, is also coupled to system bus 102. Video controller 105 may comprise another type of controller such as a SVGA controller or the like, and may also be provided with a video memory 110 which may be periodically refreshed by CPU 103. Video controller 105 is connected to panel display 106 which may comprise a flat panel display (e.g., active matrix type, passive matrix type, gas plasma, or the like). A CRT port 107 may also (or alternately) be provided to provide an image on a CRT screen. Although not shown, other types of video output ports may also be provided, including a television output (e.g., NTSC, PAL, SECAM, MUSE, analog HDTV, digital HDTV or the like, any of which may be either broadband or baseband outputs).
Also coupled to system bus 102 is PCMCIA host 108 which in turn is coupled to PCMCIA interface 101. The construction of such a PCMCIA host is known in the art and provides the necessary interface between the system bus 102 and a PCMCIA compatible device (i.e., PCMCIA card) coupled to PCMCIA interface 101. The PCMCIA host, by design, has a data bandwidth of approximately five megabytes per second. A PCMCIA card 109 may be selectively and removably coupled to PCMCIA host 108 through PCMCIA interface 101. In the prior art, the PCMCIA card 109 may comprise a modem, network interface, serial port, parallel port, memory card, hard drive, or other peripheral device.
Unfortunately, the PCMCIA standard has some inherent limitations which make it difficult to adapt to video data transmission. For motion video, digitized under the CCIR 601 standard, for example, an average bandwidth of 27 megabytes per second may be required in order to transmit the video data from one device to another.
Modern high performance computers (e.g., Intel.TM. Pentium.TM., 486-33 MHz, or the like) using advanced bus structures such as the PCI or VESA bus architecture may have a memory bandwidth in the range of 25 to 35 megabytes per second. Thus, motion video data can be successfully transmitted within the bus structure of a high performance portable or personal computer. However, as discussed above in connection with FIG. 1, the PCMCIA interface has a bandwidth limitation of five megabytes per second. Thus, the PCMCIA interface acts as a bottleneck or barrier for transmitting continuous motion video to a portable or personal computer.
The present invention, as discussed below, provides a data compression technique which compresses video data into a narrower bandwidth which may be transmitted through the PCMCIA interface. Various video compression techniques are known in the art and have been implemented to reduce bandwidth or increase channel space, for example, for satellite, cable TV, so-called "Video On Demand" or other video services (e.g., Picturephone.TM. or the like). One technique developed for black and white video transmission is described in "Block Truncation Coding: A New Approach to Image Compression", O. R. Mitchell et al, Conference Records, IEEE International Conference on Communication I, June 1978, 12B.1.1-12B.1.4, which utilized a relatively simple technique. This technique relies upon the fact that the human eye generally does not ascertain all of the minute distinctions which may be present in a video signal. In order to provide a useful video image, one need only reproduce a video image which is visually indistinguishable from the transmitted image, regardless as to whether any of the quality of the data is lost.
FIGS. 2A-C show the operation of such a prior art technique. In this technique, a video image made up of a number of pixels may be divided into blocks of 4 pixels by 4 pixels each, as shown in FIG. 2A. For this black and white or monochrome image, only luminance values are discussed. The brightness distribution for the sixteen pixels within the 4.times.4 block of FIG. 2A can be shown graphically in FIG. 2B as a typical distribution (i.e., bell curve) having a mean value and (first moment) and standard deviation (second moment). Those pixels having a brightness greater than the mean may be assigned a value equal to the mean value plus one standard deviation, whereas those pixel values having a brightness less than the mean value may be assigned a brightness value equal to the mean value minus the standard deviation. The pixel data may then be transmitted as one bit for each pixel value for the 4.times.4 pixel matrix, along with the mean and standard deviation values.
The overall distribution of the compressed data, shown in FIG. 2C, comprising only two data points is mathematically the same distribution as the original data (i.e., same mean and standard deviation values). Since the human eye senses the differences in the relative intensities of light, the compressed image appears the same as the original image, as the brightness (luminance) distribution of the two images is the same.
Although this technique reduces the analog pixel values to discrete levels, the system still requires at least one bit per pixel to transmit the luminance values (relative intensities) for each pixel in the matrix. In addition, the two moment values (mean and standard deviation) must also be transmitted for each matrix of pixels. This technique also does not provide for the transmission of color images. Finally, since the pixels are arranged in a matrix, the data must be serialized at the receiver in order to provide image data in a scan line format.